package com.enjoyor.soa.traffic.rest.efoms.dubbo;

import com.enjoyor.soa.traffic.api.dto.efoms.DeviceWranInfoDto;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

public interface IDeviceWranInfoConsumeService {
    
	/**
     * 根据报警编号查询设备报警信息
     * @param devWranId 报警编号
     * @return ResultPojo
     */
    public ResultPojo selectDeviceWranInfoById(String devWranId);
    
    /**
     * 查询设备报警列表信息
     * @param devWranId 报警编号
     * @param devCategoryCode 设备种类编号
     * @param devTypeCode 设备类型编号
     * @param devId 设备编号
     * @param devName 设备名称
     * @param key 关键字（设备编号或设备名称）
     * @param wranTypeCode 报警类型编号
     * @param wranLevelCode 报警等级编号
     * @param wranContent 报警内容
     * @param isRecover 是否恢复正常
     * @param wranStartTime 报警开始时间
     * @param wranEndTime 报警结束时间
     * @return ResultPojo
     */
	public ResultPojo selectDeviceWranInfoList(String devWranId, String devCategoryCode, String devTypeCode,
			String devId, String devName, String key, String wranTypeCode, String wranLevelCode, String wranContent,
			String isRecover, String wranStartTime, String wranEndTime);
    
	/**
     * 查询最新实时报警信息
     * @param devCategoryCode 设备种类编号
     * @param devTypeCode 设备类型编号
     * @param isRecover 是否恢复正常
     * @param wranStartTime 报警开始时间
     * @param wranEndTime 报警结束时间
     * @return ResultPojo
     */
	public ResultPojo selectDeviceWranReal(String devCategoryCode, String devTypeCode, String isRecover,
			String wranStartTime, String wranEndTime);
	
	/**
     * 查询设备报警分页信息
     * @param devWranId 报警编号
     * @param devCategoryCode 设备种类编号
     * @param devTypeCode 设备类型编号
     * @param devId 设备编号
     * @param devName 设备名称
     * @param key 关键字（设备编号或设备名称）
     * @param wranTypeCode 报警类型编号
     * @param wranLevelCode 报警等级编号
     * @param wranContent 报警内容
     * @param isRecover 是否恢复正常
     * @param wranStartTime 报警开始时间
     * @param wranEndTime 报警结束时间
     * @return ResultPojo
     */
	public ResultPojo selectDeviceWranInfoPage(Page page, String devWranId, String devCategoryCode, String devTypeCode,
			String devId, String devName, String key, String wranTypeCode, String wranLevelCode, String wranContent,
			String isRecover, String wranStartTime, String wranEndTime);
	
    /**
     * 新增设备报警信息
     * @param deviceWranInfoDto
     * @param username 操作人
     * @return ResultPojo
     */
    public ResultPojo insertDeviceWranInfo(DeviceWranInfoDto deviceWranInfoDto, String username);

    /**
     * 修改设备报警信息
     * @param deviceWranInfoDto
     * @param username 操作人 
     * @return ResultPojo
     */
    public ResultPojo updateDeviceWranInfo(DeviceWranInfoDto deviceWranInfoDto, String username);

    /**
     * 删除设备报警信息
     * @param devWranId 报警编号
     * @param username 操作人
     * @return ResultPojo
     */
    public ResultPojo deleteDeviceWranInfo(String devWranId, String username);
}
